﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebMVC.Helpers;
using WebMVC.Resources.Models.Taxi;

namespace WebMVC.Models
{
    public class TaxiItemViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string PhoneNumber { get; set; }
        public string LogoPath { get; set; }

        public short PricePerKM { get; set; }
        public short MinPrice { get; set; }
        public decimal? MinPriceKM { get; set; }
        public short? UpTo6KMPrice { get; set; }

        public bool NoSmoking { get; set; }
        public bool Conditioning { get; set; }
        public bool HasMeter { get; set; }

        public DateTime CreateDate { get; set; }
        public TaxiRating Rating { get; set; }
        public int Reviews { get; set; }
    }

    public class TaxiDetailsViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string PhoneNumber { get; set; }
        public string PhoneNumber1 { get; set; }
        public string PhoneNumber2 { get; set; }
        public string PhoneNumber3 { get; set; }
        public string PhoneNumber4 { get; set; }
        

        public string DistrictName { get; set; }
        public string LogoPath { get; set; }

        public short PricePerKM { get; set; }
        public short MinPrice { get; set; }
        public short? WaitMinutePrice { get; set; }
        public short? FreeWaitMinutes { get; set; }
        public decimal? MinPriceKM { get; set; }
        public short? UpTo6KMPrice { get; set; }

        public bool NoSmoking { get; set; }
        public bool Conditioning { get; set; }
        public bool HasMeter { get; set; }
        public bool SpeaksEnglish { get; set; }

        public short? ServingFromYear { get; set; }
        public DateTime CreateDate { get; set; }
        
        public TaxiRating AvgRating { get; set; }
        public TaxiRating AvgServiceRating { get; set; }
        public TaxiRating AvgDriverRating { get; set; }
        public TaxiRating AvgCarRating { get; set; }
        public TaxiRating AvgPriceRating { get; set; }

        public string Description { get; set; }
        public short? ParkQuantity { get; set; }

        public List<TransportViewModel> Transports { get; set; }
        public AddReviewViewModel AddReviewModel { get; set; }


    }

    public class TaxiRating
    {
        public decimal Rating { get; set; }
    }

    public class TransportViewModel
    {
        public string Type { get; set; }
        public string Name { get; set; }
        public string ImgPath { get; set; }
    }

    public class RecommendTaxiViewModel
    {
        [LocalizedDisplayName("District",NameResourceType=typeof(Names))]
        public short? DistrictId { get; set; }
        public List<SelectListItem> Districts { get; set; }

        public List<TaxiItemViewModel> PopularList { get; set; }
        public List<TaxiItemViewModel> HighestRatingList { get; set; }
        public List<TaxiItemViewModel> CheapestList { get; set; }
        public List<TaxiItemViewModel> ComfortibleList { get; set; }

    }
    
}
